package cn.sc.summer.calculate.builder;

import cn.sc.summer.calculate.po.SystemInfoDTO;

/**
 * 类名：构造者设计模式
 *
 * @author a-xin
 * @date 2023/9/5 14:45
 */
public abstract class SystemInfoService {

    /**
     * 构造系统基础信息
     */
    protected abstract void buildSystemInfo();

    /**
     * 构造java环境基础信息
     */
    protected abstract void buildJavaInfo();

    /**
     * 构造jvm基础信息
     */
    protected abstract void buildJvmInfo();

    /**
     * 构造物理内存基础信息
     */
    protected abstract void buildPhysicalMemoryInfo();

    /**
     * 构造cpu基础信息
     */
    protected abstract void buildCpuInfo();

    /**
     * 构造储存空间基础信息
     */
    protected abstract void buildSpaceInfo();

    /**
     * 最终构造返回数据
     *
     * @return 系统基础信息实体类
     */
    protected abstract SystemInfoDTO build();

}
